1. Field of the Invention
The present invention relates generally to virtual machines, and more particularly to intelligent resource management for a virtual machine.
2. Description of Related Art
Virtual machines (VMs) allow a computer to simultaneously support and execute two or more computing environments. A computer environment comprises the operating system as well as user applications and data. A VM is configured to borrow computing resources such as CPU, disk, and memory from a host computer, and co-exist alongside the host computer as a guest computer.
Due to a large software footprint, current VMs can not be easily transported from one host computer to another host computer. To be portable, the VM requires the capability to adapt to any given host environment and reconfigure its resources based on the presence or absence of hardware or operating system resources on the host system. Additionally, the resources on the guest computer must remain isolated from the resources on the host computer, and vice-versa.
When a VM accesses operating system resources on the host computer, the host computer isolates certain operating system resources such as the file system, registry, kernel objects and services from the guest computer. As such, there exists a need to determine whether to access operating system resources within the host computer or operating system resources within the guest computer to maintain isolation between the host computer and the guest computer.
One technique to accomplish this goal to is maintain two separate operating systems with two sets of system files thereby allowing the virtual machine to operate independently. Unfortunately, the additional files grow as new applications are installed on the virtual machine. Further, duplicate and redundant files may ultimately be stored and maintained on both the virtual machine and host computer. As a result, the supporting files and related hardware requirements may be burdensome to the host computer and performance may slow. Further, the size of the files and necessity for hardware storage may become a burden in porting the virtual machine from one host computer to another.